%module(directors=1) MyCallback;
%feature("director") AsyncUidProvider;



%{
#include <unistd.h>


class AsyncUidProvider {
public:
    AsyncUidProvider() {
        
    }
    virtual ~ AsyncUidProvider() {
        
    }
    
    void get(){
        OnUid(getuid());
    }
    virtual void OnUid(uid_t uid) {
        
    }
};
%}


typedef unsigned int uid_t;



class AsyncUidProvider {
public:
    AsyncUidProvider();
    virtual ~ AsyncUidProvider();
    
    void get();
    virtual void OnUid(uid_t uid);
};